<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>
  <body>
    <script>
      var arr = [1, 2, 3, 4];
      console.log(arr);
      //Ⅰ）push（）向数组中添加数据到数组的最后。
      arr.push(10);
      arr.push("hello");
      //arr.push([1,2,3]);
      console.log(arr);

      //Ⅱ）pop（）删除数组最后一个元素。
      arr.pop(); //每次只能删除最后一个元素
      console.log(arr);
      //arr = []//删除全部元素 将数组置空

      //Ⅲ）unshift（）向数组头部添加数据
      arr.unshift(0);
      arr.unshift(-1, 0);
      arr.unshift(["a", "b"]);
      console.log(arr);

      //Ⅳ）shift（）删除数组的第一个元素
      arr.shift();
      console.log(arr);

      //Ⅴ）concat（）将两个或多个数组组合成一个数组
      var arr2 = ["abc", "123", 0];
      var arr3 = [10, 11, 12];
      var arr4 = arr.concat(arr2, arr3); //可以传多个参数按次序进行连接
      console.log(arr4);

      //Ⅵ）reverse（）对数组进行倒序处理
      console.log(arr);
      var arr0 = arr.reverse();
      console.log(arr0);
      console.log(arr);//arr自身被倒置

      //Ⅶ）join（）将数组转换为字符串
      var str = arr.join();
      console.log(typeof arr);
      console.log(typeof str);
      console.log(str);
      var str = arr.join("@"); //指定字符串拼接的符号
      console.log(str);
      var str = arr.join("");
      console.log(str);

      //Ⅷ）splice（）删除，修改或向数组中添加数据。
      var arr1 = [1, 2, 3, 4, 5, 7];
      console.log(arr1);
      //1.删除元素
      var arr2 = arr1.splice(2, 2);
      //splice(起始位置, 删除个数)从下标为2的位置开始删除，删除2个元素
      console.log(arr2); //返回被删除的元素
      console.log(arr1); //arr1删除后剩余的元素

      //2.修改数据
      arr1=[1,2,3,4,5,7];
      var arr2 = arr1.splice(1, 2, 13,"aaa", "bbb", "cccc");
      //splice(起始位置，替换个数，替换内容)
      console.log(arr1);
      console.log(arr2); //被替换的元素

      //3.添加数据
      arr1 = [1, 2, 3, 4, 5];
      arr1.splice(2, 0, 99, "11111");
      //splice(起始位置，0，添加数据)
      //通过修改替换的元素的起始位置，来实现在任意地方添加元素
      arr1.splice(arr1.length, 0, "haha");
      console.log(arr1);
    </script>
  </body>
</html>
